home *** CD-ROM | disk | FTP | other *** search
- Speed-o-meter
- =============
- "The multitasker's speed gauge"
-
- ╜1994 DataBasement Software
- All Rights Reserved
-
- By Erin Matthew Monaco
- Programmed using
- Lattice C 5.60 + DevPac III.
-
-
- This is another S.A.S (Short And Simple) ShareWare product from
- DataBasement Software. If you find it useful and use it I'd appreciate
- it if you could send the $5 registration fee to me at:
-
- Erin Monaco
- 35244 Chestnut St.
- Wayne, MI 48184
-
- I also accept GEnie Gifts of Time page M080. My GEnie Address is:
- E.MONACO
-
- You have the right to copy and distribute this program for a
- reasonable PD disk fee. You must insure that distribution is complete
- with this document as its the only identification the program carries.
-
- History:
- Version 2:
- - EVT_TIMER vector now installs using XBRA protocol. Tested appears
- to work fine. Now SPEEDOM will unlink safely when run with
- other XBRA compliant programs which redirect EVT_TIMER.
- (This includes running multiple copies of SPEEDOM).
-
- - To keep window size to a minimum I removed the relatively worthless
- SPEEDOM window title. Now when SPEEDOM is first run the title will
- display "Wait..." this will remain till SPEEDOM has read its .CNF
- file, or while it calculates your computers optimal speed and then
- creates the .CNF file. After that the title will display the
- applications speed percentage in decimal (in addition to the bar
- graph already displayed in the window) Now you can see at a glance
- what the actual percentage is. Since its possible (as explained
- below) a plus "+" sign will appear to the right of the percent symbol
- when you happen to exceed 100% performance. ('+' actually added after
- this document was written.)
-
- - Changed the second line from "| 5|0 |" to just "| | |" but
- the ticks still represent 25%, 50% and 75% of optimal speed. This
- is fairly accurate but not lined up "precisely". Which is why I added
- the decimal % display.
-
- - Changed the code a little but it still works as explained for version
- one. Which is what this doc file talks about.
-
- Version 2: Added Tidbits.
- - Once I added the accurate decimal percentage display (and no longer
- had to guess at speeds) I found that my initially reported slowdowns
- on mouse movements and running Geneva to be on the low side. In
- other words, the slowdown was even more dramatic then I thought. To
- see an excellent example of this configure SPEEDOM on a completely
- bare system as suggested. Then when your speed starts getting reported
- move your mouse as quickly as you can across the screen. Do not be
- surprised to see a 25% slowdown in application execution. If you have
- warp_9 (or possibly some other mouse/screen accelerator run it and
- try SPEEDOM again) With warp_9 3.75 Moving the mouse on my AdSpeed
- STE (16Mhz) accelerated machine I started reading 100%... it could
- have been even more but the program caps at 100 for other technical
- reasons.
-
- - Running Geneva and setting the default flags to single-tasking Speedom
- reported about 89%. This is with neodesk (which gets suspended),
- Genevas Task Manager and Warp_9 CP. I found that if I put the acc's
- (Task Manager and Warp_9 CP to sleep, by shift clicking on their
- menu entries.. yes you CAN do that! Now running SPEEDOM I was back up
- to 100%!!! (This could be useful if you plan on doing something where
- every ounce of speed would be nice. The acc's can be reactivated by
- simply clicking on their entries, when they pop up just close them...
- so they are STILL available from the application if you need them!!!)
- WOW! This method works fairly well when multitasking. Doing the same
- thing in multitasking speedom was running at about 44%. By manually
- (shift-clicking) putting neodesk and the acc's to sleep I managed to
- get up around 98%! Very interesting and useful indeed.
-
- - I have noticed that when I configure SPEEDOM at 8Mhz on a bare system...
- except for the Adspeed acc I used to drop down to 8Mhz before running
- SPEEDOM, that I'd tipically get 98% efficency right off the bat. When
- Warp_9 is added, it jumps to 100 (again possibly beyond). I attribute
- this to the fact that I poll the machine for 5 seconds taking 5-
- 1 second counts and then I take the highest (not average) optimal
- ratio of instructions executed divided by time taken to execute them.
- (thats why I need the EVT_TIMER vector!) Not to mention I cheated
- on the instruction count "system" which does not actually represent
- instructions executed, but hopefully a rough estimate of this anyway!
- What I'm saying is "results will very from machine to machine, system
- to system, and most accurate results will be gotten from configuring
- SPEEDOM on your bare system.
-
- - If you think about it since I use a constant for executed instructions
- that increments a counter each pass through the loop, addind software
- that accelerates such things as mouse and screen would be reflected
- in a better performance percentage. Say each pass through the loop
- increments the instruction counter by 100. Now say because of various
- "accelerator" programs we manage to get through the loop in only 80
- instructions. The instruction counter is still incremented by 100
- so we manage to get through the loop a few more times then we did
- before we used the accelerators. Thus we will have a higher
- instruction to time ratio... giving us a reported percentage that was
- better then the original. (Don't worry if you don't get it)
-
- Version 1:
- - Initial release.
-
- Version 1 Docs
-
- This program is a breeze to use. Just run it using your favorite
- method and watch it go! Currently it only operates as a program- it can
- not be run as an ACC... yet!
-
- When you run the program you'll be presented with a very small
- window. The top line of the window (small text size) is a graphic bar
- indicator. The next line simply has three "|"'s and 50 to mark the
- half way point. The Graph Bar is a simple percentage indicator. Going
- from 1 to 100. With "|" at 25, 50 and 75 Percent marks. This is a
- completely visual program with no interaction required. To quit just
- close the window. The window can be moved anywhere on screen. This
- program gives a visual indicator of how fast your programs are running,
- as compared to the optimal speed they could run on your machine.
-
- "OK, the program's under 6K with embedded RSC and all... how does
- it know my machine's optimal speed?"
-
- Great question. It doesn't so we need to teach it first. When you
- run the program it checks for a file SPEEDOM.CNF. If it finds it it will
- load in the 4 Byte value contained in that file. If it doesn't it will
- Test your machine's speed 5 times (takes under 10 seconds) and then it
- will compute this value and create a SPEEDOM.CNF to the current directory
- for you! (Simple) After this is done it will proceed with rating the
- application's speed. This was the easiest way I could think of to do
- this accurately (mostly) on any machine from 8Mhz, 16Mhz, 32... 64...
- a zillion or whatever.
-
- The best way to configure the program is to run it on a BARE system
- with nothing else running, no accessories, etc. If you ever choose to
- re-calibrate the program, just delete the SPEEDOM.CNF file and run
- SPEEDOM to create a new one. You could if you choose configure it from
- within Geneva or MultiTos or whatever. But for the most accurate system
- performance readings you should configure it with a bare system at the
- highest CPU speed (in the case of accelerators, etc) that you can.
-
- INTERESTING TIDBITS:
-
- In testing/debugging this program I saw a few neat (disturbing)
- things. Configured on a bare system (no warp_9, mouse accelerators etc)
- Moving the mouse in a quick circle around the screen seemed to slow
- the application by about 20% on my TOS 1.62 ROMS... thats scary! With
- WARP_9 I could not detect a slowdown at all!
-
- Running SPEEDOM as a single-task application I averaged around
- 90% of my normal speed with mouse movements slowing it down by another
- 5% or so. (Faster you move the mouse, greater the slowdown... this was
- with warp_9 on). Defaulting back to multitasking having NeoDesk and
- a few accessories I ran two copies of SPEEDOM and got a speed just under
- 50%. For every copy run after that system speed dropped by only about 5%
- or so.
-
-
- QUICK DISCLAIMER:
-
- By making this program and everything I am not trying to promote
- any products (like warp_9, although its well worth it <g>) or pound
- any programs (like Geneva... I LOVE Geneva and respect Dan alot for
- his accomplishments and GRIBNIF support? Is superb) but no endorsements
- from me! <g>
-
- Programs that do not like to surrender control to Geneva/MultiTOS
- will not be reflected very well. (If SPEEDOM doesn't get time to work...
- then it won't be updated at all!) Also as sorta mentioned above things
- such as moving the mouse, clicking on objects and using menus and stuff
- will temporarily reduce the application's percentage of code executed.
- The graphic bar display is normally updated every second or so. Unless
- one of the above mentioned factors prevents this.
-
- I'm no genius. I make mistakes and believe it or not I don't always
- know WHAT I'M DOING!!! This program is a perfect example of my
- "Winging It". While I believe this program does represent an applications
- speed in terms of a percentage of optimal speed fairly accurately, I
- could be seriously wrong! In any event it is nice to look at and watch :)
-
- Comments and suggestions are welcomed and appreciated, as are
- registrations (hint!) feel free to leave E-mail on GEnie to me at
- E.MONACO or send a letter to the above address.
-
- Enjoy! Erin @DataBasement Software.
-